<?php

/**
 * ArtefactosDaniadosForm
 *
 */
class ArtefactosDaniadosForm extends ReclamoForm
{
  public function configureWidgets()
  {
    parent::configureWidgets();

    $this->makeToggleables(array(
       'es_primera_instancia'           => array('nro_reclamo_primera_instancia', 'resultado','fecha_realizacion_reclamo')
             ));



    //$this->widgetSchema->setLabel('descripcion', 'Gestión realizada');
    $this->widgetSchema->setLabel('condicion_del_reclamante', 'Condición del reclamante');

    $this->setWidget('condicion_del_reclamante', new dcWidgetFormReferenceModelChoice(array(
        'model' => 'Condicion',
        'add_empty' => true
      )));

    $this->getWidget("condicion_del_reclamante")->setOption('renderer_class', 'mbWidgetFormChosenChoice');
    $this->setWidget('medio_de_reclamo', new sfWidgetFormChoice(array('choices'=>array('----'=>'----','Telefónico'=>'Telefónico','Personal'=>'Personal', 'Correo Electrónico'=>'Correo Electrónico', 'Correo Postal'=>'Correo Postal', 'Libro de Quejas'=>'Libro de Quejas'))));
    $this->setValidator('medio_de_reclamo', new sfValidatorChoice(array('choices'=>array('----'=>'----','Telefónico'=>'Telefónico','Personal'=>'Personal', 'Correo Electrónico'=>'Correo Electrónico', 'Correo Postal'=>'Correo Postal', 'Libro de Quejas'=>'Libro de Quejas'),'required'=>false)));
    $this->getWidget('medio_de_reclamo')->setOption('renderer_class', 'mbWidgetFormChosenChoice');

    $this->setWidget('resultado', new sfWidgetFormChoice(array('choices'=>array('----'=>'----','Con respuesta'=> 'Con respuesta','Sin respuesta'=> 'Sin respuesta'))));
    $this->setValidator('resultado', new sfValidatorChoice(array('choices'=>array('----'=>'----','Con respuesta'=> 'Con respuesta','Sin respuesta'=> 'Sin respuesta'),'required'=>false)));
    $this->getWidget('resultado')->setOption('renderer_class', 'mbWidgetFormChosenChoice');
  }

  public function configureValidators()
  {
    parent::configureValidators();
    $this->setValidator('condicion_del_reclamante', new dcValidatorReferenceModelChoice(array(
        'model' => 'Condicion',
        'required' => false
      )));
  }

  public function unsetFields()
  {
    $this->useFields(array("id",
      "tipo_atencion_id",
      "sf_guard_user_id",
      "asunto_id",
      "cliente_id",
      "condicion_del_reclamante",
      "nombre_reclamante",
      "telefono_reclamante",
      "email_reclamante",
      "distribuidor_id",
      "tema_id",
      "subtema_id",
      "es_primera_instancia",
      "nro_reclamo_primera_instancia",
      "fecha_realizacion_reclamo",
      "medio_de_reclamo",
      "estado",
      "observacion",
      "descripcion"
    ));
  }

    protected function doSave($con = null)
  {
    $this->getObject()->generarNroReclamo();
    $this->getObject()->generarLegajoAu();
    $this->getObject()->setEs0800(true);
    parent::doSave($con);
  }
}
